package com.kevinkk.array;

/**
 * 给你一个按 非递减顺序 排序的整数数组 nums，返回 每个数字的平方 组成的新数组，要求也按 非递减顺序 排序。
 *
 * 只用注意，返回的结果数组需要从后向前遍历即可
 */

public class SquaresOfaSortedrray {
    class Solution {
        public int[] sortedSquares(int[] nums) {
            int length = nums.length;
            int[] res = new int[length];
            int left = 0, right = length-1;
            for(int i = length-1; i >= 0; i--){
                int leftRes = nums[left] * nums[left];
                int rightRes = nums[right] * nums[right];
                if(leftRes < rightRes){
                    res[i] = rightRes;
                    right --;
                }else{
                    res[i] = leftRes;
                    left++;
                }
            }

            return res;
        }
    }
}
